subprocess, os, sys modules
Pythonning asosiy tizim modullari: os, subprocess, sys
1. os moduli
os moduli — operatsion tizim bilan bog‘liq ko‘plab funksiyalarni taqdim etadi. Fayllar va kataloglar bilan ishlash, muhit o‘zgaruvchilarini boshqarish, jarayonlar va ruxsatlarni o‘zgartirish uchun ishlatiladi.
Asosiy imkoniyatlar:
- Fayl va kataloglarni yaratish, o‘chirish, ko‘chirish (
os.mkdir,os.remove,os.rename) - Katalogdagi fayllarni olish (
os.listdir) - Joriy ishchi katalogni o‘zgartirish (
os.chdir) - Muhit o‘zgaruvchilarini boshqarish (
os.environ) - Fayl yo‘llarini birlashtirish va ajratish (
os.path.join,os.path.basename) - Fayl va katalog mavjudligini tekshirish (
os.path.exists) - Fayl ruxsatlarini o‘zgartirish (
os.chmod)
Amaliy misollar:
import os
# Joriy katalogni ko‘rsatish
print(os.getcwd())
# Yangi katalog yaratish
os.mkdir('testdir')
# Fayl va katalog mavjudligini tekshirish
if os.path.exists('testdir'):
print("Katalog mavjud")
# Faylni ko‘chirish
os.rename('old.txt', 'new.txt')
# Katalogdagi barcha fayllarni chiqarish
for f in os.listdir('.'):
print(f)
# Muhit o‘zgaruvchisini o‘rnatish va olish
os.environ['MY_VAR'] = '123'
print(os.environ.get('MY_VAR'))
# Fayl ruxsatini o‘zgartirish
os.chmod('new.txt', 0o644)
2. subprocess moduli
subprocess moduli — tashqi buyruqlar va jarayonlarni Python orqali ishga tushirish va boshqarish uchun ishlatiladi. Bu modul yordamida shell buyruqlarini bajarish, natijani olish, jarayonlarni boshqarish mumkin.
Asosiy imkoniyatlar:
- Buyruq natijasini olish (
subprocess.check_output) - Buyruqni bajarish va kodini tekshirish (
subprocess.run) - Jarayonlarni boshqarish (
subprocess.Popen) - Standart chiqish va xatolik oqimini boshqarish
- Shell buyruqlarini to‘g‘ridan-to‘g‘ri bajarish (
shell=True)
Amaliy misollar:
import subprocess
# Oddiy buyruq natijasini olish
output = subprocess.check_output(['ls', '-l'])
print(output.decode())
# Buyruqni bajarish va kodini tekshirish
result = subprocess.run(['df', '-h'], capture_output=True, text=True)
print(result.stdout)
# Shell buyruqlarini bajarish
subprocess.run('echo "Salom, dunyo!"', shell=True)
# Jarayonni fon rejimida ishga tushirish
proc = subprocess.Popen(['ping', '-c', '4', 'google.com'], stdout=subprocess.PIPE)
for line in proc.stdout:
print(line.decode().strip())
# Xatolik oqimini boshqarish
try:
subprocess.check_output(['ls', '/no/such/dir'])
except subprocess.CalledProcessError as e:
print("Xatolik:", e)
3. sys moduli
sys moduli — Python interpretatori va jarayon darajasidagi ma’lumotlarni boshqarish uchun ishlatiladi. Komanda satri argumentlari, chiqish kodi, standart oqimlar va muhit haqida ma’lumot olish mumkin.
Asosiy imkoniyatlar:
- Komanda satri argumentlarini olish (
sys.argv) - Jarayonni to‘xtatish va chiqish kodi (
sys.exit) - Standart oqimlar (
sys.stdin,sys.stdout,sys.stderr) - Python versiyasi va platformasi haqida ma’lumot (
sys.version,sys.platform) - Standart chiqishga yozish (
sys.stdout.write) - Xatoliklarni standart oqimga chiqarish (
sys.stderr.write)
Amaliy misollar:
import sys
# Komanda satri argumentlarini ko‘rsatish
print("Argumentlar:", sys.argv)
# Jarayonni kod bilan to‘xtatish
if len(sys.argv) < 2:
print("Fayl nomi kerak!")
sys.exit(1)
# Python versiyasi va platformasi
print("Versiya:", sys.version)
print("Platforma:", sys.platform)
# Standart chiqishga yozish
sys.stdout.write("Bu oddiy chiqish\n")
# Standart xatolik oqimiga yozish
sys.stderr.write("Xatolik yuz berdi!\n")
Xulosa
os, subprocess, va sys modullari Python’da tizim darajasidagi operatsiyalarni bajarish uchun eng muhim vositalardir. Ular yordamida fayllar, kataloglar, jarayonlar, buyruqlar va muhit o‘zgaruvchilarini boshqarish, shuningdek, komanda satri argumentlari va chiqish kodlari bilan ishlash mumkin. Amaliy misollar yordamida bu modullarning imkoniyatlarini real tizim skriptlarida keng qo‘llash mumkin. Bu modullar DevOps va tizim administratsiyasi uchun Python skriptlarining asosiy poydevorini